import axios from 'axios'
import ElementUI from 'element-ui'


const request = axios.create({
    // 请求的baseURL
    baseURL:'http://localhost:8055/skills',
    // 请求的timeout
    timeout:6600
})

// 请求拦截器
request.interceptors.request.use(
    (config) => {
        // 设置请求头
        config.headers['Content-Type'] = "application/json;charset=utf-8";
        // 获取本地存储中的userData
        let userData = localStorage.getItem('userData') ? JSON.parse(localStorage.getItem('userData')) : null
        // 如果存在userData，则将token添加到请求头中
        if(userData){
            config.headers['token'] = userData.token
        }
        return config;
    },
    (error) =>{
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)

// 响应拦截器
request.interceptors.response.use(
    (response) => {
        // 获取响应数据
        let res = response.data
        // 如果响应数据是字符串，则转换成对象
        if(typeof res === 'string'){
            res = res ? JSON.parse(res) : res
        }
        // 如果响应类型是blob，则直接返回
        if (response.config.responseType === "blob") {
			return res;
		}
        // 如果响应状态码为400，则弹出错误提示
        if (res.code === "400") {
			ElementUI.Message({
				message: res.msg,
				type: "error",
			});
		}
        return res;
    },
    (error) =>{
        // 对响应错误做些什么
        return Promise.reject(error)
    }
)

export default request;